package com.link.base.base.member.util;

/**
 * @author Li Yang
 * 微信/小程序红包用到的常量
 * 暂时方式为存储缓存到redis的key值
 * 后面考虑使用微服务的config方式动态读取配置文件
 */
public class MpPayConstants {

    /** *********** 全局设置-领取失败 短信通知设置 *********** */
    /**
     * 领取失败记录
     */
    public static final String FAIL_TO_RECIEVE_RECORD_LIST = "MpPayFailToRecieveList";
    /**
     * hash key
     */
    public static final String FAIL_TO_RECIEVE = "MpPayFailToRecieve";
    /**
     * 下次领取失败通知时间
     * hash field
     */
    public static final String NEXT_FAIL_TO_RECIEVE_ALERT_TIME = "nextAlertTime";
    /**
     * 领取失败通知的时间间隔
     * hash field
     */
    public static final String NEXT_FAIL_TO_RECIEVE_ALERT_TIME_INTERVAL = "nextAlertTimeInterval";
    /**
     * 限制时间
     * hash field
     */
    public static final String FAIL_TO_RECIEVE_LIMIT_TIME = "limitTime";
    /**
     * 限制数量
     * hash field
     */
    public static final String FAIL_TO_RECIEVE_LIMIT_NUM = "limitNum";
    /**
     * 通知手机号
     * hash field
     */
    public static final String FAIL_TO_RECIEVE_ALERT_PHONE_NUMBER = "alertPhoneNumber";
    /**
     * 通知短信编码
     * hash field
     */
    public static final String FAIL_TO_RECIEVE_SMS_CODE = "smsCode";


    /** *********** 全局设置-超频领取 短信通知设置 *********** */
    /**
     * 访问记录
     */
    public static final String MP_PAY_REQUEST_RECORD_LIST = "MpPayRequestRecordList";
    /**
     * hash key
     */
    public static final String OVER_FREQUENCY_REQUEST = "MpPayOverFrequencyRequest";
    /**
     * 下次领取红包请求超频通知时间
     * hash field
     */
    public static final String NEXT_OVER_FREQUENCY_REQUEST_ALERT_TIME = "nextAlertTime";
    /**
     * 领取红包请求超频通知的时间间隔
     * hash field
     */
    public static final String NEXT_OVER_FREQUENCY_REQUEST_ALERT_TIME_INTERVAL = "nextAlertTimeInterval";
    /**
     * 限制时间
     * hash field
     */
    public static final String OVER_FREQUENCY_REQUEST_LIMIT_TIME = "limitTime";
    /**
     * 限制数量
     * hash field
     */
    public static final String OVER_FREQUENCY_REQUEST_LIMIT_NUM = "limitNum";
    /**
     * 通知手机号
     * hash field
     */
    public static final String OVER_FREQUENCY_REQUEST_ALERT_PHONE_NUMBER = "alertPhoneNumber";
    /**
     * 通知短信编码
     * hash field
     */
    public static final String OVER_FREQUENCY_REQUEST_SMS_CODE = "smsCode";


    /** *********** 全局设置-伪造请求 短信通知设置 *********** */
    /**
     * 伪造请求访问记录
     */
    public static final String FORGERY_REQUEST_RECORD_LIST = "forgeryRequestRecordList";
    /**
     * hash key
     */
    public static final String FORGERY_REQUEST = "MpPayForgeryRequest";
    /**
     * 下次伪造请求超频通知时间
     * hash field
     */
    public static final String NEXT_FORGERY_REQUEST_ALERT_TIME = "nextAlertTime";
    /**
     * 伪造请求超频通知的时间间隔
     * hash field
     */
    public static final String NEXT_FORGERY_REQUEST_ALERT_TIME_INTERVAL = "nextAlertTimeInterval";
    /**
     * 限制时间
     * hash field
     */
    public static final String FORGERY_REQUEST_LIMIT_TIME = "limitTime";
    /**
     * 限制数量
     * hash field
     */
    public static final String FORGERY_REQUEST_LIMIT_NUM = "limitNum";
    /**
     * 通知手机号
     * hash field
     */
    public static final String FORGERY_REQUEST_ALERT_PHONE_NUMBER = "alertPhoneNumber";
    /**
     * 通知短信编码
     * hash field
     */
    public static final String FORGERY_REQUEST_SMS_CODE = "smsCode";


    /** *********** 红包领取设置 *********** */
    /**
     * 红包领取设置的key
     * hash key
     */
    public static final String RED_ENVELOPES_CONFIG_KEY = "RedEnvelopesConfig";
    /**
     * 单个红包最大限额
     * hash field
     */
    public static final String RED_ENVELOPES_MAX_PRICE = "maxPrice";
    /**
     * 单个红包最小限额
     * hash field
     */
    public static final String RED_ENVELOPES_MIN_PRICE = "minPrice";
    /**
     * 中奖几率
     * hash field
     */
    public static final String RED_ENVELOPES_RATE = "rate";
    /**
     * 同一个微信每日最多领取的次数
     * hash field
     */
    public static final String RED_ENVELOPES_MAX_RECIEVE_TIME = "maxRecieveTime";
    /**
     * 同一个微信每日最多领取的金额
     * hash field
     */
    public static final String RED_ENVELOPES_MAX_RECIEVE_PRICE = "maxRecievePrice";
    /**
     * 红包领取伪造请求数量
     * hash field
     */
    public static final String RED_ENVELOPES_FORGERY_REQUEST_NUM = "forgeryRequestNum";
    /**
     * 红包领取伪造请求时间间隔
     * hash field
     */
    public static final String RED_ENVELOPES_FORGERY_REQUEST_TIME_INTERVAL = "forgeryRequestTimeInterval";
    /**
     * 红包领取异常通知信息
     * hash field
     */
    public static final String RED_ENVELOPES_FORGERY_REQUEST_ALERT_MSG = "forgeryRequestAlertMsg";
    /**
     * 红包领取伪造请求黑名单 openid 前缀
     * list key
     */
    public static final String RED_ENVELOPES_BLACK_LIST_KEY = "RedEnvelopesBlacklist_";


    /** *********** 付款设置 *********** */
    /**
     * 付款设置的key
     * hash key
     */
    public static final String MP_PAY_CONFIG_KEY = "MpPayConfig";
    /**
     * 单日最大预警金额
     * hash field
     */
    public static final String DAY_ALERT_MAX_PAY = "dayAlertMaxPay";

    /**
     * 单日最大预警通知电话号码
     * hash field
     */
    public static final String DAY_ALERT_MAX_PHONE = "dayAlertMaxPhone";

    /**
     * 单日最大预警通知短信模板id
     */
    public static final String DAY_ALERT_MAX_MSG_TEMPLATE = "dayAlertMaxMsgTemplate";

    /**
     * 单日最大预警提示信息
     * hash field
     */
    public static final String DAY_ALERT_MAX_MSG = "dayAlertMaxMsg";

    /**
     * 单日最大付款金额，到达后停止付款
     * hash field
     */
    public static final String DAY_LIMIT_MAX_PAY_AMOUNT = "dayLimitMaxPayAmount";

    /**
     * 单人单日最大付款次数，到达后停止付款
     * hash field
     */
    public static final String DAY_LIMIT_MAX_PAY_NUM = "dayLimitMaxPayNum";
    /**
     * 付款超频预警时间范围
     * hash field
     */
    public static final String MP_PAY_LIMIT_TIME = "limitTime";
    /**
     * 付款超频预警数量
     * hash field
     */
    public static final String MP_PAY_LIMIT_NUM = "limitNum";
    /**
     * 付款超频预警短信
     * hash field
     */
    public static final String MP_PAY_LIMIT_PHONES = "limitAlertPhones";
    /**
     * 付款超频预警模板
     * hash field
     */
    public static final String MP_PAY_LIMIT_MSG_TEMPLATE = "limitMsgTemplate";

    /**
     * 付款超频预警时间范围
     * hash field
     */
    public static final String MP_PAY_OPENID_LIMIT_TIME = "openidLimitTime";
    /**
     * 付款超频预警数量
     * hash field
     */
    public static final String MP_PAY_OPENID_LIMIT_NUM = "openidLimitNum";
    /**
     * 付款黑名单解锁时长
     * hash field
     */
    public static final String MP_PAY_OPENID_REQUEST_TIME_INTERVAL = "openidRequestTimeInterval";
    /**
     * 付款异常通知信息
     * hash field
     */
    public static final String MP_PAY_OPENID_ALERT_MSG = "openidAlertMsg";
    /**
     * 付款（超频）访问记录 openid 前缀
     * list key
     */
    public static final String MP_PAY_BLACK_LIST_KEY = "MpPayBlacklist_";
    /**
     * 付款（超频）黑名单hash key
     * hash key
     */
    public static final String MP_PAY_BLACK_LIST_MAP_KEY = "MpPayBlacklistMap";
}
